CVE-2023-43040 rgw: Fix bucket validation against POST policies
authorJoshua Baergen <jbaergen@digitalocean.com>
Wed, 17 May 2023 18:17:09 +0000 (12:17 -0600)
committerBastien Roucariès <rouca@debian.org>
Mon, 22 Sep 2025 20:55:44 +0000 (22:55 +0200)
commit9e8533671ae49c5db9bbabe3ef55a5a11427412b
tree15113e9cdc0cd8bf56d26c9f77c2def8deb64dac
parent0fb142dc84a9985e7ddc43542086c118e6662bb8
CVE-2023-43040 rgw: Fix bucket validation against POST policies

It's possible that user could provide a form part as a part of a POST
object upload that uses 'bucket' as a key; in this case, it was
overriding what was being set in the validation env (which is the real
bucket being modified). The result of this is that a user could actually
upload to any bucket accessible by the specified access key by matching
the bucket in the POST policy in said POST form part.

Fix this simply by setting the bucket to the correct value after the
POST form parts are processed, ignoring the form part above if
specified.

bug: https://tracker.ceph.com/issues/63004
bug-debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1053690
bug-debian-security: https://deb.freexian.com/extended-lts/tracker/CVE-2023-43040

Signed-off-by: Joshua Baergen <jbaergen@digitalocean.com>
origin: backport, https://github.com/ceph/ceph/commit/479976538fe8f51edfea597443ba0c0209d3f39f

Gbp-Pq: Name CVE-2023-43040.patch
src/rgw/rgw_rest_s3.cc